package com.app.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.app.entity.User;
import com.app.entity.UserHome;

public interface UserDao {
	/**
	 * 查找用户
	 *
	 * @param userName
	 * @return
	 */
	public User selectUser(@Param("userName") String userName, @Param("password") String password);

	/**
	 * 新增用户
	 *
	 * @param userName
	 * @param password
	 */
	public void addUser(@Param("userName") String userName, @Param("password") String password);

	/**
	 * 新增用户表
	 *
	 * @param userName
	 */
	public void addUserHome(@Param("userName") String userName);

	/**
	 * 更新用户状态
	 *
	 * @param userName
	 * @param statues
	 */
	public void updateStatue(@Param("userName") String userName, @Param("statues") Integer statues);

	/**
	 * 删除用户
	 *
	 * @param userName
	 */
	public void deleteUser(@Param("userName") String userName);

	
	int updateUserFee(@Param("map") Map<String, Object> map);
	/**
	 * 分页获取用户列表
	 *
	 * @param offset
	 * @param pageSize
	 * @return
	 */
	public List<User> selectUserByPage(@Param("offset") int offset,
                                       @Param("pageSize") int pageSize,
                                       @Param("userName")String userName);

	/**
	 * 获取用户详情
	 *
	 * @param userName
	 * @return
	 */
	public UserHome selectUserDetail(@Param("userName") String userName);

	/**
	 * 获取总客户数
	 *
	 * @return
	 */
	public Integer userCount();

	/**
	 * 更新客户home
	 *
	 * @param userHome
	 */
	public void updateUserHome(@Param("userHome") UserHome userHome);

	/**
	 * 查询管理员
	 * 
	 * @param userName
	 * @return
	 */
	public User selectAdmin(@Param("userName") String userName);
}
